using System;
using System.Collections;

namespace MSPetShop.DataAccess
{
	
	public abstract class Item
	{
	
		public System.String ItemId
		{
			get { return this.itemId; }
			set { this.itemId = value; }
		}

		public System.Decimal ListPrice
		{
			get { return this.listPrice; }
			set { this.listPrice = value; }
		}

		public System.Decimal UnitCost
		{
			get { return this.unitCost; }
			set { this.unitCost = value; }
		}

		public System.String Status
		{
			get { return this.status; }
			set { this.status = value; }
		}

		public System.String Attr1
		{
			get { return this.attr1; }
			set { this.attr1 = value; }
		}

		public System.String Attr2
		{
			get { return this.attr2; }
			set { this.attr2 = value; }
		}

		public System.String Attr3
		{
			get { return this.attr3; }
			set { this.attr3 = value; }
		}

		public System.String Attr4
		{
			get { return this.attr4; }
			set { this.attr4 = value; }
		}

		public System.String Attr5
		{
			get { return this.attr5; }
			set { this.attr5 = value; }
		}

		public MSPetShop.DataAccess.Product ProductId
		{
			get { return this.productId; }
			set { this.productId = value; }
		}

		public MSPetShop.DataAccess.Supplier Supplier
		{
			get { return this.supplier; }
			set { this.supplier = value; }
		}

//		protected void OnCreate(object[] args)
//		{
//		}
		
//		protected void OnMaterialize()
//		{
//		}
		
//		protected void OnValidate()
//		{
//		}
		
		protected abstract System.String itemId { get; set; }

		protected abstract System.Decimal listPrice { get; set; }

		protected abstract System.Decimal unitCost { get; set; }

		protected abstract System.String status { get; set; }

		protected abstract System.String attr1 { get; set; }

		protected abstract System.String attr2 { get; set; }

		protected abstract System.String attr3 { get; set; }

		protected abstract System.String attr4 { get; set; }

		protected abstract System.String attr5 { get; set; }

		protected abstract MSPetShop.DataAccess.Product productId { get; set; }

		protected abstract MSPetShop.DataAccess.Supplier supplier { get; set; }

	}
}
